【科研猫·绘图】世界地图绘制

您所在的位置:网站首页 世界地图怎么画 创意 【科研猫·绘图】世界地图绘制

【科研猫·绘图】世界地图绘制

2024-02-17 18:13| 来源: 网络整理| 查看: 265

由于近期疫情的播散,而流行病学研究对疫情防控又至关重要,所以,最近涌现了一大批关于疾病流调的文章,这也使得很多研究人员在文章中需要绘制不同地区的地图作为文章中的主图。这些图频繁出现在Lancet或者NEJM、CNS等顶级杂志中,不过对于很多科研人员来说,地图的绘制由于没有现成软件可以直接操作,一直以来都是一大难题。

前面一期的教程中,我们给大家讲解了中国地图的绘制方法【科研猫·绘图】中国地图绘制:R语言版,在我们发布这篇教程后,马上有同学反映想要学习世界地图的绘制,作为实力宠粉的科研猫团队,粉丝的要求岂能不去满足。上期教大家绘制中国地图还不够,因为很多疾病(包括慢性病,不光是传染病),它们的范围是世界性的,所以确实需要学习一下如何绘制世界地图。闲话到此,直奔主题。

LEVEL 1

绘制地图之前,需要获取世界地图的数据,这个数据我们通过R包maptools可以进行读取。不过我们细心的技术在使用这个R包的过程中发现了一个原则性问题,该R包中共有246个国家的名称,其中我国的Taiwan省被列为一个独立的国家。这种事情是坚决不给允许的,于是乎,我们在给大家的文件中删除了Taiwan,并且在代码上进行了调整,使得Taiwan的数据永远与China保持一致,严格贯彻“一个中国”原则。技术宅没有别的本事,算是通过代码来表达一份爱国情怀吧。代码如下:

# modify ddf and add Taiwan to China # Taiwan always belong to China tw = ddf[ddf$Country == 'China',] tw[1,1] = "Taiwan" ddf = rbind(ddf,tw) rownames(ddf) = NULL # a simple frame of world map data(wrld_simpl) plot(wrld_simpl)

读取坐标数据之后呢,这时候数据全部存储在wrld_simpl这个对象中,通过plot()函数可以直接绘图,图形如下,不过稍微简陋了一些。

LEVEL 2

上面的图形看上去稍微有些简陋,而且,还存在一个比较严重的问题。什么问题呢?大家看看本文最上面的NEJM和Lancet杂志中发表的世界地图,和刚才我们绘制出来的世界地图,有什么不一样?提醒一下大家,世界地图中包含几个大洲?

细心地同学可能发现了,在杂志中发表的世界地图是没有南极洲的,为什么呢?第一,南极洲实在是人数稀少,除了企鹅多之外,我们去统计南极洲的某种疾病的发病率,一点意义都没有。第二,南极洲地域广袤,在我们的图形中占据了非常大的版面,使得我们真正关心的地域被压缩。因此,我们在杂志中发表世界地图之前,我们需要做一个事情:把南极洲去除。怎么做呢?

# this lets us use the contry name vs 3-letter ISO wrld_simpl@data$id


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3